using UnityEngine;

public abstract class HDMAssemblyBehaviour : MonoBehaviour
{
    public virtual void HDMEnable() { }
    public virtual void HDMDisable() { }
    public virtual void HDMOnDestroy() { }
    public virtual void HDMAwake() { }
    public virtual void HDMStart() { }
    public virtual void HDMUpdate() { }
    public virtual void HDMLateUpdate() { }
    public virtual void HDMFixedUpdate() { }
    public virtual void HDMOnApplicationQuit() { }
    public virtual void HDMOnTriggerStay(Collider other) { }
    public virtual void HDMOnTriggerEnter(Collider other) { }
    public virtual void HDMOnTriggerExit(Collider other) { }
    public virtual void HDMOnCollisionEnter(Collision collision) { }
    public virtual void HDMOnCollisionExit(Collision collision) { }
    public virtual void HDMOnCollisionStay(Collision collision) { }
    public virtual void HDMOnTriggerEnter2D(Collider2D collision) { }
    public virtual void HDMOnTriggerExit2D(Collider2D collision) { }
    public virtual void HDMOnTriggerStay2D(Collider2D collision) { }
    public virtual void HDMOnCollisionExit2D(Collision2D collision) { }
    public virtual void HDMOnCollisionStay2D(Collision2D collision) { }
    public virtual void HDMOnCollisionEnter2D(Collision2D collision) { }
    public void OnDisable() => HDMDisable();
    public void OnEnable() => HDMEnable();
    public void OnDestroy() => HDMOnDestroy();
    public void Awake() => HDMAwake();
    public void Start() => HDMStart();
    public void Update() => HDMUpdate();
    public void LateUpdate() => HDMLateUpdate();
    public void FixedUpdate() => HDMFixedUpdate();
    public void OnApplicationQuit() => HDMOnApplicationQuit();
    public void OnTriggerEnter(Collider other) => HDMOnTriggerEnter(other);
    public void OnTriggerExit(Collider other) => HDMOnTriggerExit(other);
    public void OnTriggerStay(Collider other) => HDMOnTriggerStay(other);
    public void OnCollisionEnter(Collision collision) => HDMOnCollisionEnter(collision);
    public void OnCollisionExit(Collision collision) => HDMOnCollisionExit(collision);
    public void OnCollisionStay(Collision collision) => HDMOnCollisionStay(collision);
    public void OnTriggerEnter2D(Collider2D collision) => HDMOnTriggerEnter2D(collision);
    public void OnTriggerExit2D(Collider2D collision) => HDMOnTriggerExit2D(collision);
    public void OnTriggerStay2D(Collider2D collision) => HDMOnTriggerStay2D(collision);
    public void OnCollisionExit2D(Collision2D collision) => HDMOnCollisionExit2D(collision);
    public void OnCollisionEnter2D(Collision2D collision) => HDMOnCollisionEnter2D(collision);
    public void OnCollisionStay2D(Collision2D collision) => HDMOnCollisionStay2D(collision);
}
